package com.sfac.springboot.modules.common.dao;

import com.sfac.springboot.modules.common.entity.ExceptionLog;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;

/**
 * ExceptionLogDao
 */
@Repository
@Mapper
public interface ExceptionLogDao {

	@Select("select * from common_exception_log " +
			"where path = #{path} and exception_type = #{exceptionType} limit 1")
	ExceptionLog getELByPathAndName(
			@Param("path") String path,
			@Param("exceptionType") String exceptionType);

	@Insert("insert into common_exception_log(ip, path, class_name, " +
			"method_name, exception_type, exception_message, create_date, update_date) " +
			"values(#{ip}, #{path}, #{className}, #{methodName}, " +
			"#{exceptionType}, #{exceptionMessage}, #{createDate}, #{updateDate})")
	@Options(useGeneratedKeys = true, keyColumn = "id", keyProperty = "id")
	void insertExceptionLog(ExceptionLog exceptionLog);
}
